In a communication system, a device (typically a mobile device) termed user equipment (UE) communicates wirelessly with a radio access network. Communications between the UE and the radio access network may be effected in accordance with a multi-layered communications protocol. A modem (MT) is a device for transmitting and receiving signals in such a system and is used at the UE to communicate with the radio access network. A modem may be integrated in the UE or it may be not be integrated in the UE and may be connected to the UE via a suitable external interface (e.g. USB). In particular, a modem may be used at a UE to connect the UE to a public land mobile network (PLMN) such as a mobile cellular network (i.e. a 3GPP network or other CDMA network). The UE may comprise a “host” or “application” processor (TE) that communicates with the modem and causes it to perform desired tasks.
An example of a communication system is a 3GPP Universal Mobile Telecommunications System (UMTS) which is a cellular system comprising a collection of Node-Bs (base stations) and Radio Network Controllers (RNCs) controlling those Node-Bs. The Node-Bs and RNCs are collectively referred to as UTRAN (“Universal Terrestrial Radio Access Network”). A UMTS system may employ wideband code division multiple access (W-CDMA) radio access technology for communication between UEs and UTRAN.
A Universal Integrated Circuit Card (UICC) may be communicatively coupled to the modem. A UISC is a smart card (that is a physical card with embedded integrated circuits) comprising a CPU (“Central Processing Unit”), computer storage (e.g. ROM, RAM, EEPROM etc.) and input/output (I/O) circuits for communicating with the modem. Typically, the housing of a UE with an integrated modem or the housing of an external modem has a card slot which supports the UISC and communication between the modem and the USIC is effected by way of electrical pin connectors.
A UICC may store an application such as a Universal Subscriber Identity Module (USIM)—see e.g. 3GPP TS 31.102—which provides access to a UMTS network in the following manner. The USIM application is similar in some respects to the Subscriber Identity Module (SIM) application defined in GSM standards.
The USIM holds a unique International Mobile Subscriber Identifier (IMSI) and an associated unique authentication key K assigned by an operator of the network. Typically, the IMSI can be obtained via the UICC I/O, but not the key K which remains contained within the UICC. In order to gain access to the network, the IMSI is transmitted to the network. In response, the network generates a random number RAND which it sends to the UE and also signs with the key K, generating a first value. Once received, RAND is passed to the USIM application which signs it with the key K, generating a second value. The second value is returned to the network and, if the received second value matches the first value generated by the network, access to the network is granted, e.g. thereby enabling the UE to establish calls, transfer data etc.
Communication between the host and the modem can be implemented using protocols provided by the 3GPP specifications. In particular, communication between the modem and the host can be effected using an attention (AT) command port. For instance, the host processor may assert a particular AT command to cause the modem to perform a desired operation.
For instance, during booting up of the modem, the host uses an “AT+CUSATx” (e.g. x=W to write to the UICC, x=R to read from the UICC) AT commands (see e.g. 3GPP TS27.007) to configure which proactive STK (“SIM Application Toolkit) commands and STK procedures should be handled by the MT (modem) and which ones should be handled by the TE (AP/Host).
The STK is a GSM standard which enables the SIM application to proactively initiate commands to the modem (i.e. of its own volition rather than in response to a command received at the UICC e.g. from the modem) used for value-added (non-core) services above and beyond the core services (which includes voice calls) provided by the UMTS system. By initiating such commands of its own volition, the SIM application (as opposed to the host) is thus able to handle particular STK services. Similarly, the USAT (USIM Application Toolkit) is a UMTS standard analogous in some respects to STK but for the USIM application (rather than the SIM application), and enables similar proactive behaviour by the USIM application in relation to non-core services by enabling the USIM.
Responsive to an AT+CUSATR command from the host, the modem reads from the UICC which procedures the UICC is currently configured to handle. Conversely, responsive to an AT+CUATW command from the host, the modem writes to UICC to alter this configuration as described in further detail below.
This is done before the SIM (or USIM) application is activated by transferring a “Terminal Profile” (TP) to the UICC. The TP comprises a plurality of bit indicators, each bit corresponding to a particular procedure and being used to indicate whether the MT (modem) or the TE (host) is going to handle that procedure. In this way, the host can dictate what procedures the MT is going to handle and what procedures it is not going to handle. This is effected by the TE writing to specific TP bits of a bit stream of the UICC by instigating an “AT+CUSATW=0, . . . ” to the modem (with the “0” indicating a “0” should be written to a particular bit of the bit stream to indicate that the host, and not the modem, will handle the corresponding procedure i.e. the procedure corresponding to that particular bit). The proactive commands and procedures (or services) relating to the specific TP bits are defined in ETSI 102.223. As an example if you want the four proactive commands “DISPLAY TEXT; GET INKEY; GET INPUT; PLAY TONE” to be handled by the TE host, then this would be effected by the TE host supplying the AT command “AT+CUSATW=0,000017” to the MT modem. Here, the 4 bits are activated (on byte 3 of the Terminal Profile) representing the support of the four proactive commands to be handled by the TE host.
However, in accordance with various 3GPP Technical Specifications (e.g. TS 31.111), the host is encumbered in this respect by an “MT only profile” (“MT only TP”) stored at the UICC. The “MT only profile” also comprises a plurality of bit indicators, each of which defines a procedure which the MT must handle (that is, which are considered to be an intrinsic part of MT operation) and which the host is not free to handle even if it has the capability to do so. The SIM (or USIM) application and the UICC only sees the TP information transferred by the host; the knowledge about whether the TE (host) or the MT (modem) is going to handle a particular procedure is in the modem. Thus the modem itself checks that no “MT only profile” bit is active in a “Terminal profile” (TP). In accordance with 3GPP procedures, the host should transfer Terminal Profile information to the UICC which conflicts with the “MT only profile”. That is, the host should not instigate a “AT+CUSATW=0, . . . ” command to the modem that would modify the Terminal Profile of the UICC in a way that conflicts with the “MT only profile” of that UICC (e.g. it should not instigate a command that modifies the TP to assign the host to handle a particular procedure that the “MT only profile” assigns to the modem to handle).
The host may use an “AT+CUSATR=5” command to read all the TP bits which are only possible for the MT (that is, bits which correspond to procedures which the “MT only profile” dictates be handled by the modem and not by the terminal).
Previously, 3GPP TS 31.111, specified the “MT only profile” and indicated that it should be hardcoded in the UICC. But this changed with “CR467 of TS 31.102—Addition of an EF for USAT facility control”. Now the “MT only profile” can be stored in a SIM file (specifically, an Elementary File for USAT Facility Control: EF_UFC, as set out in TS 31.102). The EF_UFC is an example of a “toolkit file” as the term used herein.